import { fileURLToPath, URL } from "node:url";
import { defineConfig, loadEnv } from "vite";
import vue from "@vitejs/plugin-vue";
import vueDevTools from "vite-plugin-vue-devtools";
import Components from "unplugin-vue-components/vite";
import AutoImport from "unplugin-auto-import/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
import Icons from "unplugin-icons/vite";
import IconsResolver from "unplugin-icons/resolver";

// https://vite.dev/config/
export default () => {

  return defineConfig({
    plugins: [
      vue(),
      vueDevTools(),
      Components({
        resolvers: [
          ElementPlusResolver(),
          IconsResolver({
            enabledCollections: ["ep"],
          }),
        ],
      }),
      AutoImport({
        resolvers: [
          ElementPlusResolver(),
          IconsResolver({
            prefix: "Icon",
          }),
        ],
      }),
      Icons({
        autoInstall: true,
      }),
    ],
    resolve: {
      alias: {
        "@": fileURLToPath(new URL("./src", import.meta.url)),
      },
    },
    server: {
      host: "0.0.0.0", // 修改服务器端口号
      port: "51730",
      proxy: {
        '/du': {
          target: 'http://10.2.1.18:9099', // 接口的域名 
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/du/, '/du')
        },
        "/Grow": {
          target: "http://10.2.1.18:9099", // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: (path) => path.replace(/^\/Grow/, "/Grow"),
        },
        "/Grow": {
          target: "http://10.2.1.16:9099", // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: (path) => path.replace(/^\/Grow/, "/Grow"),
        },
        '/user': {
          // target: env.VITE_URL, // 接口的域名
          target: 'http://10.2.1.18:9099', // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/user/, '/user')
        },
        '/soil': {
          // target: env.VITE_URL, // 接口的域名
          target: 'http://10.2.1.16:9099', // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/soil/, '/soil')
        },
        '/sunshine': {
          target: 'http://10.2.1.16:9099/', // 接口的域名 
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/sunshine/, '/sunshine')
        },
        '/temperature': {
          target: 'http://10.2.1.16:9099/', // 接口的域名 
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/temperature/, '/temperature')
        },
        '/heng': {
          target: 'http://10.2.1.26:9099/', // 接口的域名 
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/heng/, '/heng')
        },
        '/water': {
          // target: env.VITE_URL, // 接口的域名
          target: 'http://10.2.1.16:9099', // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/water/, '/water')
        },
        '/device': {
          // target: env.VITE_URL, // 接口的域名
          target: 'http://10.2.1.18:9099', // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: path => path.replace(/^\/device/, '/device')
        },
        "/Details": {
          target: "http://10.2.1.16:9099", // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: (path) => path.replace(/^\/Details/, "/Details"),
        },
        "/Details": {
          target: "http://10.2.1.17:9099", // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: (path) => path.replace(/^\/Details/, "/Details"),
        },
        "/Details": {
          target: "http://10.2.1.18:9099", // 接口的域名
          secure: false, // 如果是https接口，需要配置这个参数
          changeOrigin: true, // 如果接口跨域，需要进行这个参数配置
          rewrite: (path) => path.replace(/^\/Details/, "/Details"),
        },

      }
    }
  });
}

